/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pkgUtil.pkgSupportFile.pkgFrameworkFile;

/**
 *
 * @author DICSYS
 */
import java.io.IOException;
import java.io.RandomAccessFile;

public interface IGrabable extends Comparable{

    /**
     * Calcula el tamaño en bytes del objeto, tal como será grabado
     *
     * @return el tamaño en bytes del objeto
     */
    int sizeOf();

    /**
     * Indica cómo grabar un objeto
     *
     * @param el archivo donde será grabado el objeto
     */
    void save(RandomAccessFile a) throws IOException;

    /**
     * Indica cómo leer un objeto
     *
     * @param a el archivo donde se hará la lectura
     */
    void read(RandomAccessFile a) throws IOException;
}
